<?php
/**
 * 微博控制器
 * @author liuxiaoqing <liuxiaoqing@zhishisoft.com>
 * @version TS3.0
 */
class FeedAction extends Action {

	/**
	 * 获取表情操作
	 * @return json 表情相关的JSON数据
	 */
	public function getSmile() {
		exit(json_encode(model('Expression')->getAllExpression()));
	}
	/**
	 * 返回好友分组列表
	 */
	public function getFriendGroup(){
		$usergroupList = model('FollowGroup')->getGroupList($this->mid);
		$grouplist = array();
		foreach ( $usergroupList as $g ){
			$group['gid'] = $g['follow_group_id'];
			$group['title'] = $g['title'];
			$grouplist[] = $group;
		}
// 		//相互关注
// 		$mutualusers = model('Follow')->getFriendsData($this->mid);
		//未分组
		$nogroupusers = model('FollowGroup')->getDefaultGroupByAll($this->mid);
		//其他分组
// 		$groupusers = array();
// 		if( $grouplist ){
// 			foreach ( $grouplist as $v ){
// 				$groupinfo = model('FollowGroup')->getUsersByGroup( $this->mid , $v['gid'] );
// 				$groupusers['group'.$v['gid']] = $groupinfo;
// 			}
// 		}
// 		$groupusers['group-1'] = getSubByKey( $mutualusers , 'fid');
		$groupusers['group-2'] = getSubByKey( $nogroupusers , 'fid' );
		$groups = array(array('gid'=>-2, 'title'=>'未分组'));
		//关注列表
		$grouplist && $groups = array_merge( $groups , $grouplist);
		$users = array();
		foreach ($groupusers as &$gu){
			foreach ( $gu as $k=>$u){
				$gu[$k] = model('User')->getUserInfoForSearch( $u , 'uid,uname');
			}
		}
		$this->assign('groups' , $groups);
		$this->assign('groupusers' , $groupusers);
		$this->display();
	}
	public function changGroup(){
		$gid = intval( $_POST['gid'] );
		$groupinfo = model('FollowGroup')->getUsersByGroup( $this->mid , $gid );
		
		$groupuser = array();
		foreach ($groupinfo as $gu){
			$groupuser[] = model('User')->getUserInfoForSearch( $gu , 'uid,uname');
		}
		if ( !$groupuser ){
			exit();
		}
		$res = '<ul id="group'.$gid.'">';
		foreach ( $groupuser as $u ){
			$res .= '<li onclick=\'core.at.insertUser("'.$u['uname'].'")\'><a href="javascript:void(0);"><img alt="'.$u['uname'].'" src="'.$u['avatar_small'].'">'.$u['uname'].'</a></li>';
		}
		$res .= '</ul>';
		exit($res);
	}
	/**
	 * 发布微博操作，用于AJAX
	 * @return json 发布微博后的结果信息JSON数据
	 */
	public function PostFeed()
	{	
		// 返回数据格式
		$return = array('status'=>1, 'data'=>'');
		// 用户发送内容
		$d['content'] = isset($_POST['content']) ? filter_keyword(h($_POST['content'])) : '';
		// 原始数据内容
		$d['body'] = filter_keyword($_POST['body']);
		// 安全过滤
		foreach($_POST as $key => $val) {
			$_POST[$key] = t($_POST[$key]);
		}
		$d['source_url'] = urldecode($_POST['source_url']);  //应用分享到微博，原资源链接
		// 滤掉话题两端的空白
		$d['body'] = preg_replace("/#[\s]*([^#^\s][^#]*[^#^\s])[\s]*#/is",'#'.trim("\${1}").'#',$d['body']);	
		// 附件信息
		$d['attach_id'] = trim(t($_POST['attach_id']), "|");
		if ( !empty($d['attach_id']) ){
			$d['attach_id'] = explode('|', $d['attach_id']);
			array_map( 'intval' , $d['attach_id'] );
		}
		// 发送微博的类型
		$type = t($_POST['type']);
		// 所属应用名称
		$app = isset($_POST['app_name']) ? t($_POST['app_name']) : APP_NAME;			// 当前动态产生所属的应用
		if(!$data = model('Feed')->put($this->uid, $app, $type, $d)) {
			$return = array('status'=>0,'data'=>model('Feed')->getError());
			exit(json_encode($return));
		}
		// 发布邮件之后添加积分
		model ( 'Credit' )->setUserCredit ( $this->uid, 'add_weibo' );
		// 微博来源设置
		$data ['from'] = getFromClient ( $data ['from'], $data ['app'] );
		$this->assign ( $data );
		// 微博配置
		$weiboSet = model ( 'Xdata' )->get ( 'admin_Config:feed' );
		$this->assign ( 'weibo_premission', $weiboSet ['weibo_premission'] );
		$return ['data'] = $this->fetch ();
		// 微博ID
		$return ['feedId'] = $data ['feed_id'];
		$return ['is_audit'] = $data ['is_audit'];
		// 添加话题
		model ( 'FeedTopic' )->addTopic ( html_entity_decode ( $d ['body'], ENT_QUOTES, 'UTF-8' ), $data ['feed_id'], $type );
		// 更新用户最后发表的微博
		$last ['last_feed_id'] = $data ['feed_id'];
		$last ['last_post_time'] = $_SERVER ['REQUEST_TIME'];
		model ( 'User' )->where ( 'uid=' . $this->uid )->save ( $last );
		
		
		$isOpenChannel = model ( 'App' )->isAppNameOpen ( 'channel' );
		if (! $isOpenChannel) {
			exit ( json_encode ( $return ) );
		}
		// 添加微博到投稿数据中
		$channelId = t ( $_POST ['channel_id'] );
		
		// 绑定用户
		$bindUserChannel = D ( 'Channel', 'channel' )->getCategoryByUserBind ( $this->mid );
		if (! empty ( $bindUserChannel )) {
			$channelId = array_merge ( $bindUserChannel, explode ( ',', $channelId ) );
			$channelId = array_filter ( $channelId );
			$channelId = array_unique ( $channelId );
			$channelId = implode ( ',', $channelId );
		}
		// 绑定话题
		$content = html_entity_decode ( $d ['body'], ENT_QUOTES, 'UTF-8' );
		$content = str_replace ( "＃", "#", $content );
		preg_match_all ( "/#([^#]*[^#^\s][^#]*)#/is", $content, $topics );
		$topics = array_unique ( $topics [1] );
		foreach ( $topics as &$topic ) {
			$topic = trim ( preg_replace ( "/#/", '', t ( $topic ) ) );
		}
		$bindTopicChannel = D ( 'Channel', 'channel' )->getCategoryByTopicBind ( $topics );
		if (! empty ( $bindTopicChannel )) {
			$channelId = array_merge ( $bindTopicChannel, explode ( ',', $channelId ) );
			$channelId = array_filter ( $channelId );
			$channelId = array_unique ( $channelId );
			$channelId = implode ( ',', $channelId );
		}
		if (! empty ( $channelId )) {
			// 获取后台配置数据
			$channelConf = model('Xdata')->get('channel_Admin:index');
			$return['is_audit_channel'] = $channelConf['is_audit'];
			// 添加频道数据
			D ( 'Channel', 'channel' )->setChannel ( $data ['feed_id'], $channelId, false );
		}			

		exit(json_encode($return));
	}
	
	/**
	 * 分享/转发微博操作，需要传入POST的值
	 * @return json 分享/转发微博后的结果信息JSON数据
	 */
	public function shareFeed()
	{
		// 获取传入的值
		$post = $_POST;
		// 安全过滤
		foreach($post as $key => $val) {
			$post[$key] = t($post[$key]);
		}
		// 过滤内容值
		$post['body'] = filter_keyword($post['body']);
				
		// 判断资源是否删除
		if(empty($post['curid'])) {
			$map['feed_id'] = $post['sid'];
		} else {
			$map['feed_id'] = $post['curid'];
		}
		$map['is_del'] = 0;
		$isExist = model('Feed')->where($map)->count();
		if($isExist == 0) {
			$return['status'] = 0;
			$return['data'] = '内容已被删除，转发失败';
			exit(json_encode($return));
		}

		// 进行分享操作
		$return = model('Share')->shareFeed($post, 'share');
		if($return['status'] == 1) {
			$app_name = $post['app_name'];

			// 添加积分
			if($app_name == 'public'){
				model('Credit')->setUserCredit($this->uid,'forward_weibo');
				//微博被转发
				$suid =  model('Feed')->where($map)->getField('uid');
				model('Credit')->setUserCredit($suid,'forwarded_weibo');
			}
			if($app_name == 'weiba'){
				model('Credit')->setUserCredit($this->uid,'forward_topic');
				//微博被转发
				$suid =  D('Feed')->where('feed_id='.$map['feed_id'])->getField('uid');
				model('Credit')->setUserCredit($suid,'forwarded_topic');
			}
			
			$this->assign($return['data']);
			// 微博配置
			$weiboSet = model('Xdata')->get('admin_Config:feed');
			$this->assign('weibo_premission', $weiboSet['weibo_premission']);
			$return['data'] =  $this->fetch('PostFeed');
		}
		exit(json_encode($return));
	}

	/**
	 * 删除微博操作，用于AJAX
	 * @return json 删除微博后的结果信息JSON数据
	 */	
	public function removeFeed() {
		$return = array('status'=>0,'data'=>L('PUBLIC_DELETE_FAIL'));			// 删除失败
		$feed_id = intval($_POST['feed_id']);
		$feed = model('Feed')->getFeedInfo($feed_id);
		// 不存在时
		if(!$feed){
			exit(json_encode($return));
		}
		// 非作者时
		if($feed['uid']!=$this->mid){
			// 没有管理权限不可以删除
			if(!CheckPermission('core_admin','feed_del')){
				exit(json_encode($return));
			}
		// 是作者时
		}else{
			// 没有前台权限不可以删除
			if(!CheckPermission('core_normal','feed_del')){
				exit(json_encode($return));
			}
		}
		// 执行删除操作		
		$return = model('Feed')->doEditFeed($feed_id, 'delFeed', '',$this->mid);
		// 执行应用信息相关删除
		switch ($feed['type']) {
			case 'weiba_post':
				$postInfo = D('weiba_post')->where('feed_id='.$feed_id)->find();
				$postId = $postInfo['post_id'];
				$weibaId = $postInfo['weiba_id'];
				if (D('weiba_post')->where('post_id='.$postId)->setField('is_del', 1)) {
					$postDetail = D('weiba_post')->where('post_id='.$postId)->find();
					D('Log', 'weiba')->writeLog($postDetail['weiba_id'], $this->mid, '删除了帖子“'.$postDetail['title'].'”', 'posts');
					D('weiba')->where('weiba_id='.$weibaId)->setDec('thread_count');
					model('Credit')->setUserCredit($this->mid, 'delete_topic');
				}
				break;
		}
		// 删除失败或删除成功的消息
		$return['data'] = ($return['status'] == 0) ? L('PUBLIC_DELETE_FAIL') : L('PUBLIC_DELETE_SUCCESS');		
		// 批注：下面的代码应该挪到FeedModel中
		// 删除话题相关信息
		$return['status'] == 1 && model('FeedTopic')->deleteWeiboJoinTopic($feed_id);
		// 删除频道关联信息
		D('Channel', 'channel')->deleteChannelLink($feed_id);
		// 删除@信息
		model('Atme')->setAppName('Public')->setAppTable('feed')->deleteAtme(null, $feed_id, null);
		//删除话题信息
		$topics = D('feed_topic_link')->where('feed_id='.$feed_id)->field('topic_id')->findAll();
		D('feed_topic_link')->where('feed_id='.$feed)->delete();
		$tpmap['topic_id'] = array( 'in' , getSubByKey( $topics , 'topic_id' ) );
		model('FeedTopic')->where($tpmap)->setDec('count');
		exit(json_encode($return));
	}
	
	public function addDigg(){
		$feed_id = intval($_POST['feed_id']);
		$result = model('FeedDigg')->addDigg($feed_id, $this->mid);
		if($result){
			$res['status'] = 1;
			$res['info'] = model('FeedDigg')->getLastError();
		}else{
			$res['status'] = 0;
			$res['info'] = model('FeedDigg')->getLastError();
		}
		exit(json_encode($res));
	}

	public function delDigg () {
		$feed_id = intval($_POST['feed_id']);
		$result = model('FeedDigg')->delDigg($feed_id, $this->mid);
		if ($result) {
			$res['status'] = 1;
			$res['info'] = model('FeedDigg')->getLastError();
		} else {
			$res['status'] = 0;
			$res['info'] = model('FeedDigg')->getLastError();
		}
		exit(json_encode($res));
	}

	/**
	 * 显示大展示图界面
	 * @return void
	 */
	public function showBigImage () {
		// 获取微博ID
		$feedId = intval($_POST['feedId']);
		if (empty($feedId)) {
			$feedId = intval($_GET['p']);
		}
		$var['feedId'] = $feedId;
		// 获取索引ID
		$i = intval($_POST['i']);
		$var['i'] = empty($i) ? 1 : $i;
		// 获取微博信息
		$var['feedInfo'] = model('Feed')->getFeedInfo($feedId);
		// 图片信息
		$var['images'] = json_encode($var['feedInfo']['attach']);
		// 微博配置信息
		$weiboSet = model('Xdata')->get('admin_Config:feed');
		$var['initNums'] = $weiboSet['weibo_nums'];

		$data['status'] = 1;
		$data['html'] = fetch('bigImageBox', $var);
		exit(json_encode($data));
		// echo fetch('bigImageBox', $var);
	}

	/**
	 * 获取Ajax列表数据
	 * @return JSON数据
	 */
	public function ajaxList () {
		$type = t($_GET['type']);
		$feedId = intval($_GET['feedId']);
		if (empty($type) || empty($feedId)) {
			return array();
		}
		$data = array();
		// 获取微博信息
		$sourceInfo = model('Feed')->getFeedInfo($feedId);
		if ($type === 'report') {
			$var = array();
			$var['app_name'] = 'public';
			$var['table'] = 'feed';
			$var['limit'] = 5;
			$var['order'] = 'a.publish_time DESC';
			$map = array();
			$map['a.app_row_id'] = $feedId;
			$map['a.app'] = $var['app_name'];
			$map['a.app_row_table'] = $var['table'];
			$var['list'] = D()->table('`'.C('DB_PREFIX').'feed` AS a LEFT JOIN `'.C('DB_PREFIX').'feed_data` AS b ON a.`feed_id` = b.`feed_id`')
							  ->field('a.`uid`, b.`feed_content`, a.`publish_time`, a.`feed_id` AS `curid`, a.`app_row_id` AS `sid`, a.`is_repost`')
							  ->where($map)
							  ->order($var['order'])
							  ->findPage($var['limit']);
			foreach ($var['list']['data'] as &$value) {
				$value['user_info'] = model('User')->getUserInfo($value['uid']);
			}
			$html = fetch('ajaxListReport', $var);
			$over = ($var['list']['totalPages'] == $var['list']['nowPage'] || empty($var['list']['data'])) ? 1 : 0;
			$data = array('status'=>1, 'data'=>$html, 'over'=>$over);
		} else if ($type === 'comment') {
			$weiboSet = model('Xdata')->get('admin_Config:feed');
			$var = array ();
			// 默认配置数据
			$var['cancomment'] = 1; // 是否可以评论
			$var['canrepost'] = 1; // 是否允许转发
			$var['cancomment_old'] = 1; // 是否可以评论给原作者
			$var['app_name'] = 'public';
			$var['table'] = 'feed';
			$var['limit'] = 5;
			$var['order'] = 'DESC';
			$var['app_uid'] = $sourceInfo['uid'];
			$var['feedtype'] = $sourceInfo['type'];
			$var['user_info'] = model('User')->getUserInfo($var['app_uid']);
			// 获取微博评论信息
			if ($var['table'] == 'feed' && $this->mid != $var ['app_uid']) {
				// 判断隐私设置
				if ($this->mid != $var['app_uid']) {
					$userPrivacy = model('UserPrivacy')->getPrivacy($this->mid, $var['app_uid']);
					if ($userPrivacy['comment_weibo'] == 1) {
						$data = array('status'=>0,'data'=>L('PUBLIC_CONCENT_TIPES'));
						exit(json_encode($data));
					}
				}
			}
			// 获取数据
			$map = array();
			$map['app'] = $var['app_name'];
			$map['table'] = $var['table'];
			$map['row_id'] = $feedId;
			$var['list'] = model('Comment')->getCommentList($map, 'comment_id ' . $var['order'], $var['limit']);
			// 转发权限判断
			if (!CheckPermission('core_normal', 'feed_share') || !in_array('repost', $weiboSet['weibo_premission'])) {
				$var['canrepost'] = 0;
			}
			// 组装数据
			$html = fetch('ajaxListComment', $var);
			$over = ($var['list']['totalPages'] == $var['list']['nowPage'] || empty($var['list']['data'])) ? 1 : 0;
			$data = array('status'=>1, 'data'=>$html, 'over'=>$over);
		}

		exit(json_encode($data));
	}

	public function addComment () {
		// 返回结果集默认值
		$return = array('status'=>0, 'data'=>L('PUBLIC_CONCENT_IS_ERROR') );
		// 获取接收数据
		$data = $_POST;
		// 安全过滤
		foreach ($data as $key => $val) {
			$data [$key] = t($data[$key]);
		}
		// 评论所属与评论内容
		$data['app'] = $data['app_name'];
		$data['table'] = $data['table_name'];
		$data['content'] = h($data['content']);
		// 判断资源是否被删除
		$dao = M($data['table']);
		$idField = $dao->getPk();
		$map [$idField] = $data ['row_id'];
		$sourceInfo = $dao->where ( $map )->find ();
		
		if (! $sourceInfo) {
			$return ['status'] = 0;
			$return ['data'] = '内容已被删除，评论失败';
			exit ( json_encode ( $return ) );
		}
		//兼容旧方法
		if(empty($data['app_detail_summary'])){
			$source = model ( 'Source' )->getSourceInfo ( $data ['table'], $data ['row_id'], false, $data ['app'] );
			$data['app_detail_summary'] = $source['source_body'];
			$data['app_detail_url']     = $source['source_url'];
			$data['app_uid']            = $source['source_user_info']['uid'];
		}else{
			$data['app_detail_summary'] = $data ['app_detail_summary'] . '<a class="ico-details" href="' . $data['app_detail_url'] . '"></a>';
		}
		// 添加评论操作
		$data ['comment_id'] = model ( 'Comment' )->addComment ( $data );
		if ($data ['comment_id']) {
			$return ['status'] = 1;
			$commentInfo = model('Comment')->getCommentInfo($data['comment_id']);
			$html = '<dl class="comment_list" id="comment_list_'.$commentInfo['comment_id'].'">
				<dt><a href="'.$commentInfo['user_info']['space_url'].'"><img src="'.$commentInfo['user_info']['avatar_tiny'].'" width="30" height="30"/></a></dt>
				<dd>
				<p class="cont">'.$commentInfo['user_info']['space_link'].'：<em>'.str_replace('__THEME__', THEME_PUBLIC_URL, parse_html($commentInfo['content'])).'<span class="time">('.friendlyDate($commentInfo['ctime']).')</span></em></p>
				<p class="right mt5"><span><a href="javascript:;" onclick="deleteComment('.$commentInfo['comment_id'].');">删除</a><i class="vline">|</i><a href="javascript:;" onclick="replyComment(\''.$commentInfo['user_info']['uname'].'\', '.$commentInfo['user_info']['uid'].', '.$commentInfo['comment_id'].');">回复</a></span></p>
				</dd>
				<!-- <span class="floor">'.$commentInfo['storey'].'楼</span> -->
				</dl>';
			$return ['data'] = $html;
			
			// 去掉回复用户@
			$lessUids = array ();
			if (! empty ( $data ['to_uid'] )) {
				$lessUids [] = $data ['to_uid'];
			}
				
			if ($_POST ['ifShareFeed'] == 1) {  // 转发到我的微博
				unlockSubmit();
				$this->_updateToweibo ( $data, $sourceInfo, $lessUids );
			} else if ($data ['comment_old'] != 0) {  // 是否评论给原来作者
				unlockSubmit();
				$this->_updateToComment ( $data, $sourceInfo, $lessUids );
			}
		}
		
		exit ( json_encode ( $return ) );
	}

	// 转发到我的微博
	private function _updateToweibo($data, $sourceInfo, $lessUids) {
		$commentInfo = model ( 'Source' )->getSourceInfo ( $data ['table'], $data ['row_id'], false, $data ['app'] );
		$oldInfo = isset ( $commentInfo ['sourceInfo'] ) ? $commentInfo ['sourceInfo'] : $commentInfo;
		
		// 根据评论的对象获取原来的内容
		$arr = array (
				'post',
				'postimage',
				'postfile',
				'weiba_post',
				'postvideo'
		);
		$scream = '';
		if (! in_array ( $sourceInfo ['type'], $arr )) {
			$scream = '//@' . $commentInfo ['source_user_info'] ['uname'] . '：' . $commentInfo ['source_content'];
		}
		if (! empty ( $data ['to_comment_id'] )) {
			$replyInfo = model ( 'Comment' )->init ( $data ['app'], $data ['table'] )->getCommentInfo ( $data ['to_comment_id'], false );
			$replyScream = '//@' . $replyInfo ['user_info'] ['uname'] . ' ：';
			$data ['content'] .= $replyScream . $replyInfo ['content'];
		}
		$s ['body'] = $data ['content'] . $scream;
		
		$s ['sid'] = $oldInfo ['source_id'];
		$s ['app_name'] = $oldInfo ['app'];
		$s ['type'] = $oldInfo ['source_table'];
		$s ['comment'] = $data ['comment_old'];
		$s ['comment_touid'] = $data ['app_uid'];
		
		// 如果为原创微博，不给原创用户发送@信息
		if ($sourceInfo ['type'] == 'post' && empty ( $data ['to_uid'] )) {
			$lessUids [] = $this->mid;
		}
		model ( 'Share' )->shareFeed ( $s, 'comment', $lessUids );
		model ( 'Credit' )->setUserCredit ( $this->mid, 'forwarded_weibo' );
	}

	// 评论给原来作者
	private function _updateToComment($data, $sourceInfo, $lessUids) {
		$commentInfo = model ( 'Source' )->getSourceInfo ( $data ['app_row_table'], $data ['app_row_id'], false, $data ['app'] );
		$oldInfo = isset ( $commentInfo ['sourceInfo'] ) ? $commentInfo ['sourceInfo'] : $commentInfo;
		// 发表评论
		$c ['app'] = $data ['app'];
		$c ['table'] = 'feed'; // 2013/3/27
		$c ['app_uid'] = ! empty ( $oldInfo ['source_user_info'] ['uid'] ) ? $oldInfo ['source_user_info'] ['uid'] : $oldInfo ['uid'];
		$c ['content'] = $data ['content'];
		$c ['row_id'] = ! empty ( $oldInfo ['sourceInfo'] ) ? $oldInfo ['sourceInfo'] ['source_id'] : $oldInfo ['source_id'];
		if ($data ['app']) {
			$c ['row_id'] = $oldInfo ['feed_id'];
		}
		$c ['client_type'] = getVisitorClient ();
		
		model ( 'Comment' )->addComment ( $c, false, false, $lessUids );
	}

	public function addReport () {
		// 获取传入的值
		$post = $_POST;
		// 安全过滤
		foreach($post as $key => $val) {
			$post[$key] = t($post[$key]);
		}
		// 过滤内容值
		$post['body'] = filter_keyword($post['body']);
				
		// 判断资源是否删除
		if(empty($post['curid'])) {
			$map['feed_id'] = intval($post['sid']);
		} else {
			$map['feed_id'] = intval($post['curid']);
		}
		$map['is_del'] = 0;
		$isExist = model('Feed')->where($map)->count();
		if($isExist == 0) {
			$return['status'] = 0;
			$return['data'] = '内容已被删除，转发失败';
			exit(json_encode($return));
		}

		// 进行分享操作
		$return = model('Share')->shareFeed($post, 'share');
		if($return['status'] == 1) {
			$app_name = $post['app_name'];

			// 添加积分
			if($app_name == 'public'){
				model('Credit')->setUserCredit($this->uid,'forward_weibo');
				//微博被转发
				$suid =  model('Feed')->where($map)->getField('uid');
				model('Credit')->setUserCredit($suid,'forwarded_weibo');
			}
			if($app_name == 'weiba'){
				model('Credit')->setUserCredit($this->uid,'forward_topic');
				//微博被转发
				$suid =  D('Feed')->where('feed_id='.$map['feed_id'])->getField('uid');
				model('Credit')->setUserCredit($suid,'forwarded_topic');
			}
			
			$this->assign($return['data']);
			// 微博配置
			$weiboSet = model('Xdata')->get('admin_Config:feed');
			$this->assign('weibo_premission', $weiboSet['weibo_premission']);
			$html = '<dl class="comment_list">
					<dt><a href="'.$return['data']['user_info']['space_url'].'"><img src="'.$return['data']['user_info']['avatar_tiny'].'" width="30" height="30"/></a></dt>
					<dd>
					<p class="cont">'.$return['data']['user_info']['space_link'].'：<em>'.str_replace('__THEME__', THEME_PUBLIC_URL, parse_html($return['data']['content'])).'<span class="time">('.friendlyDate($return['data']['publish_time']).')</span></em></p>
					<p class="right mt5"><span><a href="javascript:;" onclick="shareFeed('.$return['data']['feed_id'].', '.$return['data']['curid'].');">转发</a></span></p>
					</dd>
					</dl>';
			$return['data'] =  $html;
		}
		exit(json_encode($return));
	}

	/**
	 * 异步获取指定微博内容
	 * @return json 指定微博的内容
	 */
	public function ajaxWeiboInfo () {
		$feedId = intval($_POST['feedId']);
		// 获取信息失败
		if (empty($feedId)) {
			$data['status'] = 0;
			$data['data'] = '获取微博信息失败';
			exit(json_encode($data));
		}
		$var['feedId'] = $feedId;
		// 获取微博信息
		$var['feedInfo'] = model('Feed')->getFeedInfo($feedId);
		// 微博配置信息
		$weiboSet = model('Xdata')->get('admin_Config:feed');
		$var['initNums'] = $weiboSet['weibo_nums'];
		// 赞功能
		$var['diggArr'] = model('FeedDigg')->checkIsDigg($feedId, $GLOBALS['ts']['mid']);
		// 输出信息
		$data['status'] = 1;
		$data['data'] = fetch('ajaxWeiboInfo', $var);
		exit(json_encode($data));
	}

	/**
	 * 异步获取指定图片内容
	 * @return json 指定微博图片信息
	 */
	public function ajaxImageInfo () {
		$feedId = intval($_POST['feedId']);
		$index = intval($_POST['i']);
		// 获取信息失败
		if (empty($feedId) || empty($index)) {
			$data['status'] = 0;
			$data['data'] = '获取图片信息失败';
			exit(json_encode($data));
		}
		// 获取索引ID
		$var['iShow'] = $index;
		// 获取微博信息
		$feedInfo = model('Feed')->getFeedInfo($feedId);
		// 获取图片尺寸
		$var['attach'] = array();
		foreach ($feedInfo['attach'] as $value) {
			$attach = model('Attach')->getAttachById($value['attach_id']);
			$width = $attach['width'];
			$height = $attach['height'];
			$var['attach'][] = array_merge($value, array('width'=>$width, 'height'=>$height));
		}
		// 图片信息
		$var['images'] = json_encode($var['attach']);
		$data['status'] = 1;
		// dump($var);
		$data['data'] = fetch('ajaxImageInfo', $var);
		exit(json_encode($data));
	}

	/**
	 * 获取多图上传弹窗结构
	 * @return void
	 */
	public function multimageBox () {
		// 返回的JSON值
		$data['unid'] = substr(strtoupper(md5(uniqid(mt_rand(), true))), 0, 8);
		$data['status'] = 1;
		$data['total'] = 9;
		// 设置渲染变量
		$var['unid'] = $data['unid'];
		$attachConf = model('Xdata')->get('admin_Config:attachimage');
		// 发布版本后，在进行修改
		$defaultExt = array('jpg','gif','jpeg','png');
		$ext = array_intersect($defaultExt, explode(',', $attachConf['attach_allow_extension']));
		foreach ($ext as $value) {
			$var['fileTypeExts'] .= '*.'.strtolower($value).'; ';
		}
		
		$var['fileSizeLimit'] = floor($attachConf['attach_max_size'] * 1024).'KB';
		$var['total'] = $data['total'];
		$data['html'] = fetch('multimageBox', $var);
		exit(json_encode($data));
	}
}